iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

1.類別

  • 建立一個類別
    使用class來定義一個類別。類別包含類別的名稱、屬性和方法。
    https://ithelp.ithome.com.tw/upload/images/20230923/20163063gkpVazVIqX.png
  • 新增物件:類別定義完後,就可以使用建構函式來建立類別的實例(person)。也可以把name和age的數值傳入建好的person,再使用person的方法印出結果。
    https://ithelp.ithome.com.tw/upload/images/20230923/201630630f82KTZyTZ.png
  • 建構子:可以用在建立物件時傳遞初始值。
    https://ithelp.ithome.com.tw/upload/images/20230923/20163063EUv7Dy52qw.png
  • 使用帶有參數的方式來建立物件:
    https://ithelp.ithome.com.tw/upload/images/20230923/20163063BYgirUwVsA.png
    output:
    https://ithelp.ithome.com.tw/upload/images/20230923/20163063jjip6magYR.png

2.抽象類別

  • 是用來定義其他類別的模板或規範,將共用的方法及屬性先寫好作為基底類別而減少重複的部分,抽象類別只能夠被繼承實作,無法產生instance。
  • 在class前加上abstract來定義一個抽象類別(以人和動物為例,人繼承動物的類別)
    https://ithelp.ithome.com.tw/upload/images/20230923/20163063tJYd5oogu0.png
  • 被子類別使用時,使用extends做"繼承"的動作(一個子類別只能繼承一個抽象類別),抽象類別只能訂方法名稱,方法的內容要在子類別裡面寫
    https://ithelp.ithome.com.tw/upload/images/20230923/20163063Jld7880jIf.png
  • 沒有在子類別寫上抽象類別的方法就會出現錯誤。
    https://ithelp.ithome.com.tw/upload/images/20230923/20163063UXsvjtn2PY.png
  • 新增物件:抽象類別宣告的變數,不能直接新增一個抽象物件,而是新增一個子物件
    • 正確用法
      https://ithelp.ithome.com.tw/upload/images/20230923/20163063pALrpsE86e.png
    • 錯誤用法
      https://ithelp.ithome.com.tw/upload/images/20230923/201630631UxY5psCtR.png

參考資料:
https://dart.dev/tools/diagnostic-messages?utm_source=dartdev&utm_medium=redir&utm_id=diagcode&utm_content=non_abstract_class_inherits_abstract_member#non_abstract_class_inherits_abstract_member
https://medium.com/@newpage0720/dart%E7%9A%84%E9%A1%9E%E5%88%A5-%E6%8A%BD%E8%B1%A1-%E4%BB%8B%E9%9D%A2-9fdff07821e
http://limitedcode.blogspot.com/2015/01/dart-class.html


上一篇
Day7 [Dart]函數
下一篇
Day9 [Dart]類別(下)
系列文
用30天學習做出我的第一個Flutter App30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言